An artificial neural network (ANN), or “neural network”, is a mathematical or computational model comprising an interconnected group of artificial neurons which is capable of processing information so as to model relationships between inputs and outputs or to find patterns in data.
A neural network may therefore be considered as a non-linear statistical data modelling tool and generally is an adaptive system that is capable of changing its structure based on external or internal information that flows through the network in a training phase. The strength, or weights, of the connections in the network may be altered during training in order to produce a desired signal flow.
Various types of neural network can be constructed. For example, a feedforward neural network is one of the simplest types of ANN in which information moves only in one direction and recurrent networks are models with bi-directional data flow. Many other neural network types are available.
One particular variation of a feedforward network is the multilayer perceptron which uses three or more layers of neurons (nodes) with nonlinear activation functions, and is more powerful than a single layer perceptron model in that it can distinguish data that is not linearly separable.
The ability of neural networks to be trained in a learning phase enables the weighting function between the various nodes/neurons of the network to be altered such that the network can be used to process or classify input data. Various different learning models may be used to train a neural network such as “supervised learning” in which a set of example data that relates to one or more outcomes or conditions is used to train the network such that it can, for example, predict an outcome for any given input data. Supervised learning may therefore be considered as the inference of a mapping relationship between input data and one or more outcomes.
Training an artificial neural network may involve the comparison of the network output to a desired output and using the error between the two outputs to adjust the weighting between nodes of the network. In one learning model a cost function C may be defined and the training may comprise altering the node weightings until the function C can no longer be minimised further. In this way a relationship between the input data and an outcome or series of outcomes may be derived. An example of a cost function might be C=E[(f(x)−y)2] where (x, y) is a data pair taken from some distribution D.
In one application, a neural network might be trained with gene expression data from tissues taken from patients who are healthy and from patients who have cancer. The training of the network in such an example may identify genes or gene sets that are biomarkers for cancer. The trained network may be used to predict the likelihood of a given person developing cancer based on the results of an analysis of a tissue sample.
Another field of technology in which an artificial neural network might be used is meteorology in which, for example, temperature or pressure data at a series of locations over time could be used to determine the likelihood of there being rainfall at a given location at a given time.
A known problem with artificial neural networks is the issue of overtraining which arises in overcomplex or overspecified systems when the capacity of the network significantly exceeds the needed free parameters. This problem can lead to a neural network suggesting that particular parameters are important whereas in reality they are not. This is caused by the identification of a set of parameters having a higher importance and by the false detection of parameters. These parameters are likely to have a lower performance when classifying unseen data/cases.
It is an object of the present invention to provide a method of analysing data using a neural network that overcomes or substantially mitigates the above mentioned problem.